ตัวอย่างการเขียนโปรแกรม (ภาษา C++) ของ แถวคอยลำดับความสำคัญ

#include <bits/stdc++.h>using namespace std;    class node{public:    int age;    string name;    node(int a, string b){        age = a;        name = b;    }};bool operator<(const node& a, const node& b) {    node temp1=a,temp2=b;    if(a.age != b.age)        return a.age > b.age;    else{        return temp1.name.append(temp2.name) > temp2.name.append(temp1.name);    }}int main(){    priority_queue<node> pq;    node b(23,"Somchai");    node a(22,"Pongsak");    node c(22,"Manee");    pq.push(b);    pq.push(a);    pq.push(c);    int size = pq.size();    for (int i = 0; i < size; ++i)    {        cout<<pq.top().age<<" "<<pq.top().name<<"\n";        pq.pop();    }}

จากโปรแกรมข้างต้น เราจะทำการสร้าง แถวคอย โดยโปรแกรมมีเงื่อนไขว่า ใครที่อายุ(Age)น้อยที่สุด จะถูกเรียกชื่อก่อนเสมอ โดยหากมีหลายคนที่อายุเท่ากัน คนที่ถูกเพิ่มเข้าไปในคิวภายหลังจากถูกเรียกก่อนเสมอ

ลำดับการเพิ่มข้อมูล

  1. Somchai อายุ 23 ปี >> node a(23,"Somchai");
  2. Pongsak อายุ 22 ปี >> node b(22,"Pongsak");
  3. Manee อายุ 22 ปี >> node c(22,"Manee");

ผลการทำงานของโปรแกรม

22 Manee

22 Pongsak

23 Somchai

จากผลการทำงานของโปรแกรมข้างต้น จะสังเกตได้ว่า ถึงแม้ Somchai จะมาก่อน แต่ว่าจะถูกเรียกท้ายสุดเพราะอายุมากที่สุด ส่วน Manee จะถูกเรียกเป็นอันดับแรก ถึงแม้ว่าจะอายุเท่ากันกับ Pongsak แต่ว่า Manee มาทีหลังสุด ดังนั้นจึงได้ความสำคัญมากกว่า Pongsak ตามหลักการของ "แถวคอยลำดับความสำคัญ (Priority queue)"